package edu.scsu.csci.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import edu.scsu.csci.IInterceptor;

/**
 * Sets a list of interceptors for a class
 * 
 * @author Maqbool Khan.
 */
@Target( { ElementType.TYPE, ElementType.METHOD })
@Documented
@Retention(value = RetentionPolicy.RUNTIME)
public @/**
 * @viz.diagram AInterceptor.tpx
 */
interface AInterceptor {
	
	/**
	 * AInterceptor's list
	 * 
	 * @return list
	 */
	 Class<? extends IInterceptor>[] interceptors();
}
